Browser
Spinach
This software component works with
your browser
to control and improve its performance.
Browser Spinach Overview
This product
improves browser performance by means of several strategies. Browser Spinach
PCs with lots of memory show the best results, with
performance gains of an order of magnitude against
some
common classes of sites.
Browser Spinach Reference
Each of Browser Spinach's features is discussed below.
Since familiarity with
the concept and practice of caching in web browsers
is very helpful to understanding the value of the
supplemental caches, an explanation is included for
background purposes.
Caching Explained
Any modern browser will generally save documents and images accessed on the web in its
cache, a private area on the PC's hard disk.
On subsequent queries to the same site, the browser will -- for each
document and image to be downloaded --
use HTTP to ask the site if the item has changed since the previous query. If not,
the copy in the cache is used. Since the hard disk is much faster
than the network, this technique is
key to achieving acceptable performance despite slow connections.
Deficiencies in Caching as Implemented by Navigator and Explorer
The use of tiny
images to create an appearance of sophisticated printing
is much more widespread than anticipated by the authors of
HTTP; for elaborate sites like www.microsoft.com or home.netscape.com,
it is typical for
several dozen such images to be included, in addition to the larger
scale images that are normally blamed for poor browser performance. What's
more, browsers sometimes
do not optimize these queries effectively; images
repeatedly used to achieve a typesetting look are repeatedly checked for updates,
in some cases dozens of times for a single page! Although the queries to
verify that an image hasn't changed are not individually expensive, taken
together they can dramatically affect performance.
Supplemental Image Cache
Some users improve their web query speed by
turning images off, but this
strategy is increasingly unsatisfactory because
more and more sites are designed so that vital
elements of the user interface are entirely composed of images.
These sites confront users running in text mode
with large blank spaces where user
interface elements would have appeared; thus these users are
forced to repeatedly manually request the missing images, a time consuming and frustrating
maneuver.
Browser Spinach uses its supplemental image cache
(and Ad Suppression)
to combat
this problem. The assumption underlying this cache is that images are extremely
unlikely to be updated during the few seconds that a page is loaded, and thus
need not be checked for updates once downloaded. Furthermore, images are
usually not updated in-place; i.e., updated images -- with some unusual
exceptions -- do not share names with the images they replace.
Taking advantage of this tendency allows
Browser Spinach to eliminate many image queries and checks normally
issued by a browser in the course of downloading a page.
Browser Spinach keeps track of what images should be in the browser cache. Since
Browser Spinach is a separate program from the browser, this recordkeeping amounts to
an educated guess, which will nearly always be accurate provided that the
browser cache is of a decent size. There is a situation where
Browser Spinach needs some help from the user, however; should the user empty the
browser cache, Browser Spinach's reckoning of the browser cache contents
will be out of sync with reality. In this case, the user should
bring up the
control page
and click the
browser cache was cleared button. Now
Browser Spinach will know that the browser cache was emptied, and
adjust its strategies accordingly.
Supplemental Document Cache
Browser Spinach's most dramatic effect on performance shows
when querying sites which actively seek to defeat
browser caching
in order to deliver large numbers of advertisements to users' desktops. Typically,
these sites are under commercial obligation to present many more advertisements
than the sites have pages. Thus they are motivated to stop browser caching
and ship a fresh round of ads to the user with each access. The constant flow
of uncached HTML and new advertisement images from these sites brings about
sluggish performance.
Repeatedly accessing such sites can result in virtually
identical HTML
downloading again and again, with typically only the advertising
links and images distinguishing one download from the next.
Browser Spinach will usually automatically detect this
technique and commence caching (and if
Ad Suppression
is enabled, advertising images will generally not be downloaded to your machine, even
for sites you have never visited).
For a site whose variations are sufficiently complex that
Browser Spinach cannot confidently
determine that they are insignificant, the user
can force caching into effect by manually adding the site to the
spinach cache
list. If, on the other hand, Browser Spinach mistakenly interprets a site's
changing content as superfluous and caches the site, the user can reverse this decision
by adding the site to the
no-cache
list.
Prefetch of Frequently Accessed Sites
The goal of prefetching is to get web site content onto the user's machine
so it will be immediately available upon request.
Once the user's machine has established a connection
to the Internet, Browser Spinach tracks the level
of web activity over that connection. Should the connection
apparently be idle, Browser Spinach will prefetch
web pages listed on the
Prefetch Priority Pages
list (which can be
viewed and edited on the
Browser Spinach Control Page).
Once these pages have been fetched, prefetching
continues for those
web pages most commonly accessed by the user.
Note that since
Browser Spinach is only aware of web traffic, it may begin prefetching when
there is no HTTP request active,
but there is other network activity on the modem.
Thus a user could be reading and sending mail, for example, and have his
performance hurt by
Browser Spinach's background prefetching. If this is the case, you can
direct
Browser Spinach not to prefetch until it has seen web activity on your machine. The
effect of this policy would be to delay prefetching until you bring up your
browser. To achieve this, go to the
Browser Spinach Control Page)
and check the
No prefetching until browser's first HTTP query checkbox.
Another strategy would be to simply disable prefetching.
Prefetching can be completely enabled or disabled by
adjusting the
Prefetching
check box on the
Browser Spinach Control Page).
The user also can control the extent of the prefetching by changing the
maximum pages which will be prefetched at startup
property on the
Browser Spinach Control Page).
By default this property is 100, but users who feel this large a prefetch set
is an unnecessary burden on the PC can reduce the value. By the same token,
users who would like to see more prefetching could increase it.
Custom JavaScript Initialization of Pages
Browser Spinach
allows the user to associate
custom JavaScript code with
individual web pages, executing the appropriate code when a
page is loaded. The most common use for this
functionality is to give keyboard focus to the most useful
field upon loading. Users who frequently visit search engines
can profit from this functionality; usually, users wish to immediately
type the search pattern after arriving at the search site, but
for most search engine sites,
a point and a click are needed to give focus to the appropriate field.
By associating JavaScript code to give focus to the search pattern input
field, the user can be spared this annoying step. For example,
associating the JavaScript fragment
"document.mfrm.q.focus();"
with the
Alta Vista
search engine results in focus going to the search pattern input
field immediately after
Alta Vista
is loaded. This particular customization and a few others
like it are part of the standard
Browser Spinach distribution. Users wishing to add to
or subtract from the default customizations are of course
always free to do so by means of the
Custom Java
Browser Spinach Control Page.
Browser Spinach Control Page
Browser Spinach's behavior can be controlled by the user by
means of the Browser Spinach Control Page.
To access this page:
- click on the
Start
button.
- select
Programs
- select
Browser Spinach
- choose
control
From the control page users can enable or
disable any aspect of
Browser Spinach's behavior. For example, should
Browser Spinach's caching strategy lead to
stale data being downloaded for a particular page, the user
has the option of disabling
Browser Spinach caching for that individual page (by means of
the
no-cache
list).
Browser Spinach Preferences are stored on the hard drive
and remain in effect indefinitely -- or until overridden by the user.
Selective Suppression of Advertising Banners
If the
suppress ad banners
check box on the
Browser Spinach Control Page
is checked, then
advertising banners will sometimes not be loaded; instead
they are replaced with pairs of text links. Each pair
of links consists of an
Image
link -- which allows the user to request that the page be redrawn with
the suppressed image included -- and a
To link -- which allows the user to jump directly to
the destination underlying the image which was suppressed.
If a page is loaded in the background (e.g., through
prefetching), its banners are not
suppressed. If a banner is known to already have
been downloaded into either the browser cache or
Browser Spinach's cache, then its display will likewise not be
impeded. But if a page is loaded in a foreground
query (i.e., while the user is waiting), banners
which are not already cached will be
replaced with the links mentioned above.
How Does Browser Spinach Guess Who the Advertisers Are?
Browser Spinach maintains a list of
regular expressions
to match against URLs
to determine which ones are probably advertisers.
An in-depth discussion of regular expressions would be beyond
the scope of this document; if you are interested in
learning more about them,
Tom Christiansen's discussion of Perl5 regular expressions -- which are fully supported by Browser Spinach --
is a decent place to start.
The Default Ad Suppression List
For regular expression novices, the following is a breakdown of the default
ad suppression regular expressions (as of October 8, 1998):
-
\bads?\b: the
\b denotes a word boundary, so this regular expression matches a URL
like
http://www.acme.com/ads/... but not
http://www.whatever.com/bads/...
The
? indicates that the preceding element is not required for a match; thus both
URLs with the embedded string
/ad/ and ones with the embedded string
/ads/ will be
recognized by this regular expression. By the way, any
punctuation is considered a word boundary, and
thus
http://ad.doubleclick... will also be recognized.
-
\bsponsor\b: this regular expression will match URLs like
http://www.whatever.com/sponsor/k.gif.
See the discussion above for an explanation of the meaning of
\b.
-
\bbanners?\b: this regular expression will match URLs like
http://www.whatever.com/banners/some.gif, or
http://www.nonexistent.com/banner/some.jpg.
|
Changing the Ad Suppression List
The default list
is fairly accurate but not perfect. Making the list more inclusive
increases the risk that Browser Spinach will suppress
an image which is not an advertisement. Such a mistake would
of course not be a disaster; simply clicking on the
Image link would immediately redraw the page from
the cache, but this time retrieving
the missing image.
The user is naturally free to find the ideal balance by
adjusting the
Ad Suppression list
on the
Browser Spinach Control Page.
This would be appropriate if you
frequently visit sites with advertisements which are not recognized
by the default Ad Suppression list. In this case, activate
audit mode to determine the URLs of
the advertising images, and then fashion a regular expression
of your own to match.
For example, if an advertisement whose URL was
http://www.annoying.com/something/or/other.gif, you could
suppress all image links from that domain by adding
www.annoying.com
to the Ad Suppression list.
Remember that images which have already been cached (by either
the browser or Browser Spinach) will not be suppressed. Running audit
mode will reveal whether this is the case.
If you want this section of documentation to be expanded with
more details and examples, please indicate this desire by
mailing Adynware.
|
Cache Item Age Limit
This quantity determines the number of days an image or document
can stay in the cache before Browser Spinach automatically
considers it outdated. The
appropriate value for this variable depends on the volatility of
the sites you visit which are being cached by Browser Spinach,
and how frequently you visit these sites. Browser Spinach
updates the cache every time you visit a site; but since the download
takes place
after your visit, it is possible that your browser
could be served stale pages.
Cache Size Limit
The
Cache Size Limit
determines the maximum size of the Browser Spinach supplemental
caches on your hard drive. For performance reasons,
Browser Spinach does not guarantee that this limit will never
be exceeded; however,
Browser Spinach checks the cache size regularly, and should the
size exceed the limit, will delete the least accessed
items in the cache in order to get comfortably beneath the limit.
Note
that the Browser Spinach supplemental caches are separate from your
browser's cache.
Customer ID
This number identifies your PC to Adynware. This identification
is used to simplify the installation and also to support measures
taken
to impede software piracy, and is required to
purchase a permanent license.
Caching List
Browser Spinach maintains a list of sites to include in the
supplemental document cache.
Browser Spinach automatically includes in this list sites
which do
not significantly vary their content, yet use tactics whose
only aim is to defeat the browser's caching. But some sites
have enough random variation in their content that Browser Spinach cannot
tell whether the changes are truly significant (e.g., a real-time
stock market ticker tape) or just the usual advertising fluff. Sites sending
variably formatted advertisements -- like webcrawler and
infoseek -- will be cached by Browser Spinach only if the user
adds these sites to the caching list on the
Browser Spinach Control Page.
Prohibited Caching
If a site appears to Browser Spinach to be varying
its content solely for the purpose of downloading
advertisements -- as do all of the web's major search engines -- then
Browser Spinach will cache this site. But obviously
there do exist sites whose content constantly changes for good
reason (e.g., a news ticker tape with a real-time data
feed). Browser Spinach is designed to recognize
such sites and not attempt to cache them, but it is possible
for Browser Spinach to mistakenly determine
that caching is appropriate. Should this
happen, the user should add the affected site to the
Browser Spinach's no-cache list, after which caching will be disabled for that site.
This list can be modified from the
Browser Spinach Control Page.
Browser Spinach's policy of assuming that images are not updated
without corresponding name changes can also lead to incorrect
image displays under some relatively unusual
circumstances. Rapidly changing art sites sometimes
use the rare technique of updating images
under the same name; Browser Spinach would in this case display
images from the previous query, and only realize its images were
stale later. In the worst case, 50% of a
user's accesses to such a site would display stale images. This case
should be rare, but certainly for art sites in flux, there
is a significant chance of some stale images being displayed
from time to time. To avoid this situation, the user can
add such sites to the no-cache list; sites on this list
are always refreshed in their entirety as called
for by the browser's normal caching policy.
The user can specify either specific pages or entire sites in the no-cache list. Obviously,
if
a site is added to the no-cache list, then
no page from that site will ever be cached by
Browser Spinach.
Connecting to Additional Proxy Servers
Should your browser configuration involve another proxy server
in addition to
Browser Spinach (e.g., a proxy server for crossing a firewall),
you can direct all queries to the other proxy server
by setting the
Proxy Server fields appropriately from the
Browser Spinach Control Page.
Enter the name of the host where the other proxy server is
running, and the port number on which that server is listening.
Now
Browser Spinach will forward all queries to the indicated proxy server.
To stop forwarding queries to a proxy server, click on the
Change
button and
enter an empty string at the prompt.
Specifying Exceptions to Proxy Forwarding
To specify host names, IP addresses, or subnets which should be accessed directly instead of through the proxy,
add them to the Bypass Proxy
list on the control page. Note that this list only appears if a
proxy server
has been specified.
So to direct Spinach to not use
the proxy for the host 123.104.43.53, and also to not use the proxy for
any host which has an IP address beginning with 57.127.200, you would specify 123.104.43.53 and 57.127.200
in the list. This also works for host names; to stop using
the proxy for the host xyz.com or for any host ending with ".sun.com", you would add xyz.com and *.sun.com
to the list.
Browser Spinach Port
Your browser communicates with
Browser Spinach by means of a port, a numbered communications mechanism under Windows.
Browser Spinach cannot share its port with any other listening programs (note
that your browser does not
listen
to the port; the browser
writes
to the port). So there is potential for a conflict between
Browser Spinach and another program on your PC which wants to read from
the same port. Programs that read from ports are somewhat unusual,
so it is unlikely that such a conflict should arise on a typical PC.
In any case, users have
the power to change the port used by
Browser Spinach by changing the
Spinach Port
field on the
Browser Spinach Control Page.
Note that this will be appropriate only in extremely rare circumstances.
After adjusting this field,
Browser Spinach must be restarted, which can be accomplished by rebooting.
Audit Mode
If Audit Mode
is activated, a new secondary browser window is created to display information
on
each web element query. By means of the audit window, the user can
determine the source of each element of every page brought down.
Possibilities include the browser cache, the
Browser Spinach cache, and the network (i.e., the web site where the page element
resides). Network requests come in two categories:
background network
requests are satisfied behind the scenes when the modem is idle;
foreground network
requests are satisfied while the user waits, and are the source of
most of the perceptible delay in bringing up the page.
To activate
Audit Mode, go to the
Browser Spinach Control Page
and click the
Audit Mode
button.
To stop
Audit Mode, click the
End Audit Mode
button at the top of the audit window.
Installation
New
Browser Spinach users should download and install the full installation package. Users
who have already installed
Browser Spinach
1.17 or later
are advised to download the incremental update,
which offers the same functionality in a much smaller package.
Full Installation Package for New Users:
- click on Browser Spinach 1.249
to download the Browser Spinach installation package.
- Save the downloaded file
latest.exe
to your hard drive.
- Unpack the saved file by executing latest. (One way to execute this file is to double click on it from Windows Explorer.) Two new files will be created in the same directory:
Setup
and
adynware.
- Install Browser Spinach by executing the newly created Setup.
- Delete the latest, Setup and adynware files at your leisure.
|
Incremental Update for Users Who Have Already Installed Browser Spinach
1.17 or Later
The incremental update has the same functionality as the full package, but
is much smaller, thus offering a speedier download.
- click on Browser Spinach 1.249 Update
to download the Browser Spinach installation update package.
- Save the downloaded file
update.exe
to your
hard drive.
- Unpack the saved file by executing update. (One way to execute this file is to double click on it from Windows Explorer.) Two new files will be created in the same directory:
Setup
and
adynware.
- Install Browser Spinach by executing the newly created Setup.
- Delete the latest, Setup and adynware files at your leisure.
|
Should an error occur during the installation (e.g., because your disk
is full), fix the problem and execute
Setup
again.
Setup
can be run multiple times without any harm being done. However, once it has
successfully installed an evaluation license, it will, when executed again,
complain that the license already
exists. There is no harm lurking behind this message, however;
checking the license is the last of
Setup's chores, so all other work associated with the installation
will be done before the license check occurs.
Final Installation Step: Configure Your Browser
The final action carried out by the
setup program is to start
Browser Spinach.
At this point, Browser Spinach is available and running
on your machine.
The installation program arranges for
Browser Spinach
to automatically run when the machine is brought
up. A new program group is also added under
Programs,
called
Browser Spinach. In that program group
reside
the following programs:
- audit, the Browser Spinach audit page, which can show tracing information about your queries
- control, the Browser Spinach control page, where you can modify its behavior
- help, the Browser Spinach documentation
- info, a program which shows Browser Spinach's version and which port it is listening to
- uninstall, a program to remove Browser Spinach from your system
Just one
additional manual step remains: to
make your browser aware of Browser Spinach. In the terminology of the browser vendors,
Browser Spinach is a proxy server, through which browsers execute queries. To communicate
with Browser Spinach, the browser must be directed to forward its queries to
Browser Spinach, instead of communicating directly with the addressed web sites.
Thus Browser Spinach should work with any browser that supports
proxy servers. Below are the steps to configure
the various supported versions of Navigator
and Internet Explorer for use with Browser Spinach:
Netscape Navigator 4.x
- From the
Edit
pulldown menu, select
Preferences.
- On the left of the dialog box is a column of categories. Toward the bottom of this
column is the
Advanced category.
Click on the Advanced category in order to make it the current category.
-
Expand the
Advanced category by hitting the
right-arrow key. Alternatively, click on the tiny plus-sign to the left
of the
Advanced category label.
Subcategories like
Cache
and
Proxies
should now be displayed below the
Advanced category label.
-
Click on the Proxies category in order to make it the current category.
-
Click on the
Manual proxy configuration radio button.
-
Click on the
View button.
-
Set
HTTP
to
127.0.0.1 (which tells Navigator that Browser Spinach is installed on the current machine,
as opposed to elsewhere on the network).
-
Immediately to the right, set
Port to
38200.
|
Netscape Navigator 3.x
- From the
Options
pulldown menu, select
Network Preferences.
- Select the
Proxies tab.
-
Click on the
Manual Proxy Configuration check box.
-
Click on the
View button.
-
Set
HTTP Proxy
to
127.0.0.1 (which tells Navigator that Browser Spinach is installed on the current machine,
as opposed to elsewhere on the network).
-
Immediately to the right, set
Port
to 38200.
|
Microsoft Internet Explorer 4.x
-
From the
View
pulldown menu, select
Internet Options.
-
Go to the
Connection tab.
-
In the
Proxy Server
group of options, check the
Access the Internet using a proxy server
check box.
-
Warning: you must leave blank the
Address
and
Port
fields visible below the
Access the Internet using a proxy server
check box. (Setting these fields would establish
Browser Spinach as a proxy server for all protocols, but Browser Spinach
should only be a proxy for HTTP queries.)
-
Click the
Advanced
button.
-
For HTTP, set
Address
to
127.0.0.1 (which tells Explorer that Browser Spinach is installed on the current machine,
as opposed to elsewhere on the network).
-
Set
Port
to 38200.
|
Microsoft Internet Explorer 5.x
-
From the
Tools
pulldown menu, select
Internet Options.
-
Go to the
Connections tab.
-
If
you use DSL or
your computer is on a local area network (LAN), then click on the
LAN Settings button. Otherwise, in the
Dial-up Settings
group of options, select the connection through which you wish
to determine whether Browser Spinach will be used. (If you are among the many users who only
have one connection defined, then this connection will already
be selected, so you don't need to do anything more for this step. If you have more
than one connection and you want these settings
to apply to them all, then you have to repeat the following steps for each
of the connections.)
-
In the
Dial-up Settings
group of options, click the
Settings
button.
-
In the
Proxy Server
group of options, check the
Use a proxy server
check box.
-
Warning: you must leave blank the
Address
and
Port
fields visible below the
Use a proxy server
check box. (Setting these fields would establish
Browser Spinach as a proxy server for all protocols, but Browser Spinach
should only be a proxy for HTTP queries.)
-
Click the
Advanced
button.
-
For HTTP, set
Address
to
127.0.0.1 (which tells Explorer that Browser Spinach is installed on the current machine,
as opposed to elsewhere on the network).
-
Set
Port
to 38200.
|
Microsoft Internet Explorer 3.x
-
From the
View
pulldown menu, select
Options.
-
Go to the
Connection tab.
-
In the
Proxy Server
group of options, check the
Connect through a proxy server
check box.
-
Click the
Settings
button.
-
Set the HTTP text field
to
127.0.0.1 (which tells Explorer that Browser Spinach is installed on the current machine,
as opposed to elsewhere on the network).
-
Set
Port,
the text field immediately to the right
to 38200.
|
Known Bugs
- if an image's download is interrupted (i.e., the user requests a different page while the image is coming down), it is possible that the image will be broken when the user next accesses the page: this problem can be worked around by refreshing the page. With Netscape Navigator, click the
Reload
button
while holding down the shift key to refresh a page.
Uninstall
To uninstall the product, carry out the following steps:
- click on the
Start
button.
- select
Programs
- select
Browser Spinach
- choose
uninstall
Uninstalling Browser Spinach
The uninstall program
- eliminates the system settings which arrange to execute Browser Spinach when you login
- arranges for c:\perl to be deleted at the next reboot (unless some other product also uses perl)
- removes the Browser Spinach menu items accessible from the
Start button
Final Manual Step to Uninstalling
The final step is to stop your browser from trying to forward queries to Browser Spinach,
which has been removed from the system.
The sequence of steps required to accomplish this is different for each browser.
Below are the steps to configure your browser to run without Browser Spinach:
Netscape Navigator 4.x
- From the
Edit
pulldown menu, select
Preferences.
- On the left of the dialog box is a column of categories. Toward the bottom of this
column is the
Advanced category.
Click on the Advanced category in order to make it the current category.
-
Expand the
Advanced category by hitting the
right-arrow key. Alternatively, click on the tiny plus-sign to the left
of the
Advanced category label.
Subcategories like
Cache
and
Proxies
should now be displayed below the
Advanced category label.
-
Click on the Proxies category in order to make it the current category.
-
Click on the
Direct connection to the Internet radio button.
|
Netscape Navigator 3.x
- From the
Options
pulldown menu, select
Network Preferences.
- Select the
Proxies tab.
-
Click on the
No proxies radio button.
|
Microsoft Internet Explorer 4.x
-
From the
View
pulldown menu, select
Internet Options.
-
Go to the
Connection tab.
-
In the
Proxy Server
group of options, uncheck the
Access the Internet using a proxy server
check box.
|
Microsoft Internet Explorer 5.x
-
From the
Tools
pulldown menu, select
Internet Options.
-
Go to the
Connections tab.
-
If
you use DSL or
your computer is on a local area network (LAN), then click on the
LAN Settings button. Otherwise, in the
Dial-up Settings
group of options, select the connection through which you wish
to determine whether Browser Spinach will be used. (If you are among the many users who only
have one connection defined, then this connection will already
be selected, so you don't need to do anything more for this step. If you have more
than one connection and you want these settings
to apply to them all, then you have to repeat the following steps for each
of the connections.)
-
In the
Dial-up Settings
group of options, click the
Settings
button.
-
In the
Proxy Server
group of options, uncheck the
Use a proxy server
check box.
|
Microsoft Internet Explorer 3.x
-
From the
View
pulldown menu, select
Options.
-
Go to the
Connection tab.
-
In the
Proxy Server
group of options, uncheck the
Connect through a proxy server
check box.
|
© 2000 Adynware Corp. All Rights Reserved.